﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace cognysClient
{
    public partial class ResultPageQoR : System.Web.UI.Page
    {
        //protected void Page_Load(object sender, EventArgs e)
        //{
        //    if (!IsPostBack)
        //    {
        //        setRegisteredDates(); //sätter datum för 
        //    }
        //}

        //sätter datum i en dropdown då användaren besvarat QoR-formuläret
        //public void setRegisteredDates()
        //{
        //    var client = new CognyService.Service1Client();
        //    var list = client.getUserResultsQoR(Guid.Parse("569c74f6-fca0-4e35-8c3e-f58f75ff0ced")); //blir exempel data, fixas sen

        //    //sorterar i fallande ordning
        //    list = list.OrderByDescending(x => x.regDate).ToArray();
            
        //    ddlDatePicker.DataSource = list;
        //    ddlDatePicker.DataTextField = "regDate"; //det som visas i dropbox
        //    ddlDatePicker.DataValueField = "ID"; //det värde som vi vill ha ut när användaren väljer ett alternativ
        //    ddlDatePicker.DataBind();       
        //}

        //den här metoden kommer att förändras när nödvändiga ändringar i databasen gjorts
        //public void setQoRInformation(int selectedValue)
        //{
        //    var client = new CognyService.Service1Client();
        //    var obj = client.getUserSingleResultQoR(selectedValue, Guid.Parse("569c74f6-fca0-4e35-8c3e-f58f75ff0ced"));
            
        //    List<KeyValuePair<int, int>> kv = new List<KeyValuePair<int, int>>();
        //    List<KeyValuePair<int, int>> kvp = new List<KeyValuePair<int, int>>();

        //    var avarage = 0;
        //    var total = 0;
            
        //    var props = obj.GetType().GetProperties();

        //    foreach (var p in props)
        //    {
        //        if (p.PropertyType == typeof(int?) && p.Name != "ID") //detta görs för att datan kommer inte ut i ordning från databas
        //        {
        //            var id = p.Name.Remove(0, 8);
        //            var item = new KeyValuePair<int, int>(Convert.ToInt32(id), Convert.ToInt32(p.GetValue(obj)));
        //            kv.Add(item);
        //            total = total + Convert.ToInt32(p.GetValue(obj));
        //        }
        //    }
        //    //sorterar listan utifrån nyckeln. OBS! kom ihåg ska göras ändringar i databasen som gör att sorteringen onödig.
        //    kv = kv.AsQueryable().OrderBy(x => x.Key).ToList();

        //    //vill bara visa vilka frågor som användaren angett låga värden för, vilket innebär att denne svarat att man inte mår så bra
        //    foreach (var k in kv) 
        //    {
        //        if (k.Value < 3)
        //        {
        //            kvp.Add(k);
        //        }
        //    }

        //    avarage = total / kv.Count();

        //    lblTotal.Text = total.ToString();
        //    lblAverage.Text = avarage.ToString();
            
        //    gdAnswers.DataSource = kvp;
        //    gdAnswers.ShowHeader = false;
        //    gdAnswers.DataBind();
            
        //}

        //protected void ddlDatePicker_SelectedIndexChanged(object sender, EventArgs e)
        //{
        //    var value = Convert.ToInt32(ddlDatePicker.SelectedItem.Value);

        //    if (value == 0)
        //    {
                
        //    }
        //    else
        //    {
        //        setQoRInformation(value);
        //    }
        //}
    }
}